feat: support sqllogictest output coloring#20368
Merged
Jefffrey merged 3 commits intoapache:mainfrom Feb 19, 2026
Merged
Conversation
Respects NO_COLOR, terminal settings, CARGO_TERM_COLOR and `--color` CLI argument Signed-off-by: theirix <theirix@gmail.com>
Signed-off-by: theirix <theirix@gmail.com>
xudong963
approved these changes
Feb 15, 2026
getChan
approved these changes
Feb 16, 2026
Jefffrey
reviewed
Feb 18, 2026
|
|
||
| #[clap( | ||
| long, | ||
| value_name = "WHEN", |
Contributor
There was a problem hiding this comment.
Suggested change
| value_name = "WHEN", | |
| value_name = "MODE", |
| @@ -813,6 +832,29 @@ impl Options { | |||
| eprintln!("WARNING: Ignoring `--show-output` compatibility option"); | |||
| } | |||
| } | |||
|
|
|||
| /// Determine if colour output should be enabled, respecting --color, NO_COLOR, CARGO_TERM_COLOR, and terminal detection | |||
| fn is_colored(&self) -> bool { | |||
Contributor
There was a problem hiding this comment.
I'm not as familiar with clap, but I feel some of this logic can be encoded using clap macros on Options? For example instead of it being a string it could be an enum (and thus in help we wouldn't need to mention the valid values ourselves?)
Contributor
Author
There was a problem hiding this comment.
Definitely. I utilised the pre-made clap::ColorChoice enum to auto-populate the help and removed the option. It also required parsing CARGO_TERM_COLOR. Looks more concise now.
Example:
--color <MODE> Control colored output [default: auto] [possible values: auto, always, never]
Jefffrey
approved these changes
Feb 19, 2026
Contributor
|
Nice improvement, thanks @theirix, @xudong963 & @getChan |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
Rationale for this change
It's more ergonomic to have colored diffs in sqllogictest's output.
The upstream library already supports it, and we can enable it based on the user's choice. This PR checks
NO_COLOR, terminal settings,CARGO_TERM_COLORand--colorCLI argument. By default, the diff is colored.What changes are included in this PR?
Are these changes tested?
Are there any user-facing changes?